﻿using OnlineCourse.Model.Entity;
using OnlineCourse.Services.Model;
using System;
using System.Collections.Generic;
using System.Text;

namespace OnlineCourse.Services.IServices
{
    public interface ICourseServices
    {
        /// <summary>
        ///添加课程相关信息
        /// </summary>
        /// <param name="title"></param>
        /// <param name="type"></param>
        /// <param name="imagePath"></param>
        /// <param name="detailed"></param>
        /// <param name="price"></param>
        /// <param name="buyNum"></param>
        /// <param name="lessonHour"></param>
        /// <returns></returns>
        bool Add(Guid teacherId,string title, int type, string imagePath, string detailed, decimal price, string lessonHour);
        /// <summary>
        /// 更新课程信息
        /// </summary>
        /// <param name="id"></param>
        /// <param name="title"></param>
        /// <param name="type"></param>
        /// <param name="imagePath"></param>
        /// <param name="detailed"></param>
        /// <param name="price"></param>
        /// <param name="buyNum"></param>
        /// <param name="lessonHour"></param>
        /// <returns></returns>
        bool Update(Guid id, string title, int type, string imagePath, string detailed, decimal price, string lessonHour);
        /// <summary>
        /// 删除课程信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        bool Delete(Guid id);
        /// <summary>
        /// 单个课程内容查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        CourseModel GetCourse(Guid id);
        /// <summary>
        /// 按课程类型分页查询
        /// </summary>
        /// <param name="totle"></param>
        /// <param name="page"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        IList<CourseModel> GetCourseList(int Type, out int total, int page , int pageSize);
        /// <summary>
        /// 无条件查询按老师排序
        /// </summary>
        /// <returns></returns>
        List<Course> GetList();
    }
}
